The present invention relates generally to PCMCIA cards and, more particularly, to data transmissions between PCMCIA cards and computers hosting PCMCIA cards.
Electronic devices, such as computers, may use various peripheral devices to increase flexibility and adaptability to various work environments. This may be especially true for computing devices such as hand-held computer terminals, lap-top computers, and vehicle mounted computing devices. Prior to development of standards for connecting peripheral devices to computers, computers often accepted only limited models and brands of peripheral devices. For example, memory cards often were designed to be plugged only into specific computer models.
A need to standardize the connection of peripheral devices to computing devices was soon recognized, however. Initially, the standardization of interchangeable memory cards was developed. These interchangeable memory cards were sometimes used in lieu of floppy diskettes for exchanging data or for expanding the memory of a computing device. The Personal Computer Memory Card International Association (PCMCIA) was formed by several memory card manufacturers in the late 1980s to define memory card physical design, computer socket design, electrical interface, and associated software (referred to as the PCMCIA interface standard).
Memory cards complying with the PCMCIA interface standard are relatively small, having a length and width roughly the size of a credit card. PCMCIA cards (also referred to as xe2x80x9cPC cardsxe2x80x9d) are designed to slide into a receiving slot of a computing device. At one end of a PCMCIA memory card is an interface section which provides a female portion of a connector that mates with a male end in a receiving device.
The success of interchangeable PCMCIA memory cards led to the development of other types of peripheral devices using the PCMCIA interface standard. These peripheral devices include modems, sound cards, floppy disk controllers, hard drives, Global Positioning System (GPS) cards, local area network (LAN) cards, pagers, and radiotelephone cards, among others (hereinafter xe2x80x9cPCMCIA cardsxe2x80x9d). For example, a PCMCIA radiotelephone card may be inserted into the same PCMCIA interface of a computer as other PCMCIA devices.
FIG. 1 illustrates a radiotelephone card 12 connected to a PCMCIA interface 13. The illustrated radiotelephone card 12 is located within a PCMCIA slot 14 of an electronic device 16. As is understood by those skilled in the art, the radiotelephone card 12 functions as a radiotelephone transceiver for transmitting and receiving radiotelephone communications.
For particular PCMCIA cards, such as landline and wireless modems, it may be desirable for a hosting computer to obtain various types of status information during operation thereof. Wireless modem information that can be useful to users may include whether a modem is searching for a channel, whether a modem has found a channel, whether a modem is communicating with a local base station or a desired end point of a connection, the strength of a radio channel, and the state of a modem""s battery. Landline modem information that can be useful may include connection speed, whether data is flowing, flow control status, and whether modems in a link are retraining.
Various methods exist for transmitting status information from a PCMCIA card to a device hosting the PCMCIA card. For example, U.S. Pat. No. 5,784,633 to Petty describes using a register set in attribute memory to pass status information to a host device independent of user data. This approach may require the implementation of shadow registers or an equivalent method of creating a dual port random access memory (RAM). Unfortunately, this approach may require a relatively large amount of hardware for each byte of status information to be passed. Furthermore, a dual port RAM may require extensive testing to insure that the RAM behaves correctly during asynchronous accesses from the two ports.
A second approach involves the use of a communication protocol, such as V.80 (defined by the International Telecommunication Union), to multiplex user and status information into a single data stream. This approach may require a specialized low-level software driver at a host device to xe2x80x9cde-multiplexxe2x80x9d user and status data. Unfortunately, such software drivers are conventionally designed to be operating system-specific. As a result, a separate software driver may be required for multiple host device operating systems.
Accordingly, there is a need for a simplified method of transferring status information from a PCMCIA card to a device hosting PCMCIA cards.
In view of the above, it is an object of the present invention to facilitate and simplify the transfer of status information from PCMCIA cards to devices hosting PCMCIA cards.
This and other objects of the present invention may be provided by systems and methods of obtaining status information from a PCMCIA card, such as a PCMCIA modem, installed within a PCMCIA interface of a host computer. A PCMCIA card according to the present invention includes a processor having a static random access memory (SRAM) attribute memory address space implemented therewithin. The SRAM attribute memory address space includes a Card Information Structure (CIS) that is readable by the host device.
According to the present invention, an owner control signal, such as a forced data pattern, is transmitted from a PCMCIA card to a computer hosting the PCMCIA card. An owner control signal may be created from a register bit controlled by a PCMCIA card processor. Alternatively, an owner control signal may be created by combining read, write and address lines from a PCMCIA card processor.
An owner control signal according to the present invention provides an indication of ownership of a SRAM attribute memory address space within a PCMCIA card. Accordingly, a host computer can read PCMCIA card status information from a CIS when an owner control signal indicates host device ownership of the SRAM attribute memory address space. A host computer is prevented from reading status information from a CIS when an owner control signal indicates PCMCIA card ownership of a SRAM attribute memory address space.
By providing the owner control signal to the host computer and using the forced data pattern to allow the PCMCIA card to access memory, conflicts between the host and the PCMCIA card accessing the shared address space may be avoided. Thus the attribute memory address space may be updated by the PCMCIA card and read by the host computer to provide PCMCIA information to the host without the complexity of a dual port RAM.